/*
 * FVoronoi.h
 *
 *  Created on: May 13, 2012
 *      Author: marchi
 */

#ifndef FVORONOI_H_
#define FVORONOI_H_
#include "Voronoi.h"
#include "Communicator.hpp"
#include <algorithm>

const int DOUBLE=8;
const int FLOAT=4;
const int INT=4;
const double PI= 3.1415926535897932;

class FVoronoi: public Voronoi {
	vector<double> hist0;
	vector<double> vv0R,vR,gofr;
	vector<int> nvv0R;
	double v0,VolumeCell;
	static int nstat;
	static int nx,nvx;
	static double dx,dvx,fVol,fVol2;
public:
	FVoronoi(): Voronoi(), VolumeCell(0.0), v0(0.0){};
	FVoronoi(int a, const vector<string> & s,bool bH): VolumeCell(0.0), v0(0.0), Voronoi(a,s,bH){};
	FVoronoi(Topol_NS::Topol a,bool bH): VolumeCell(0.0), v0(0.0), Voronoi(a,bH){};
	void WriteStats(Parallel::MyMPI *);
	void Stats(double);
	virtual ~FVoronoi();
	friend std::ofstream & operator<<(std::ofstream &, FVoronoi  &);
};

#endif /* FVORONOI_H_ */
